package icu.xuyijie.springbootlearning2.chapter4;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @author 徐一杰
 * @date 2025/03/03 10:50
 * @description web相关的配置类
 */
@Configuration
public class MyWebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry
                // /** d代表后端所有路径都由这里的配置管理
                .addMapping("/**")
                // 允许 http://localhost:63342/ 这个页面访问
                .allowedOriginPatterns("*")
                // 最大预检请求间隔时间
                .maxAge(3)
                // 允许前端携带认证信息，如session
                .allowCredentials(true);
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 意思是访问 http://127.0.0.1:8080/file2/a.jpg 的时候，会访问到项目的 resources/myFile/a.jpg 图片
        registry.addResourceHandler("file1/**").addResourceLocations("classpath:myFile/");
        // 意思是访问 http://127.0.0.1:8080/file2/a.jpg 的时候，会访问到电脑 E:/uploadFiles/a.jpg 图片
        registry.addResourceHandler("file2/**").addResourceLocations("file:E:/uploadFiles/");
    }
}
